BMEN90033 · Week 8
Back
BMEN90033 · WEEK 8 · FREQUENCY RESPONSE

Interactive transfer function.

An interactive construction of a rational transfer function from its pole and zero pattern. The first section establishes the correspondence between pole and zero positions and the magnitude response. The second builds $|H(j\omega)|$ from first principles as a product of vector lengths drawn from each zero and pole to the test point, and extends the construction to $|H(s)|$ as a surface over the complex plane. The third decomposes the phase response into the angles those same vectors subtend with the positive real direction. The fourth derives the $-3$ dB definition of the cutoff frequency from the geometry of a first-order low-pass. The fifth takes the high-frequency limit of the same expression, deriving the $-20$ dB/decade asymptotic slope and identifying the corner frequency as the intersection of the passband and rolloff asymptotes.

s-plane bode phase geometry 3D magnitude
scroll
01build & observe

Poles, zeros, and the magnitude response.

A rational transfer function is determined to within a scalar gain $K$ by the locations of its zeros $\{z_i\}$ and its poles $\{p_j\}$ in the complex plane:

$$H(s) \;=\; K\,\frac{\displaystyle\prod_{i}(s - z_i)}{\displaystyle\prod_{j}(s - p_j)}.$$

Poles and zeros are added by clicking inside the $s$-plane in the mode selected above the plot, repositioned by dragging, and removed by right-clicking. The factored and expanded forms of $H(s)$ and the Bode magnitude response are recomputed from the current pole–zero set after every modification.

H(s) · factored
H(s) · expanded
×pole zero drag to move · right-click to delete

Interpreting the pole–zero pattern.

A pole situated close to the $j\omega$ axis produces a local maximum of $|H(j\omega)|$ at the frequency directly opposite it, because the denominator factor $|j\omega - p_j|$ attains a local minimum at that point. A zero close to the axis produces a local minimum of $|H(j\omega)|$ by the same argument applied to the numerator. A pole in the right-half plane (shaded red) places the corresponding time-domain mode in exponential growth and the system is unstable; the frequency response remains well-defined as an algebraic expression but no longer describes the steady-state response to a sinusoidal input.

Load the 2nd-order LP preset and drag the complex-conjugate pair towards the $j\omega$ axis: the peak in $|H(j\omega)|$ sharpens and narrows, consistent with $|j\omega - p_j|$ approaching zero at the resonant frequency. Moving either pole into the right-half plane renders the system unstable without otherwise changing the algebraic form of $H(s)$.
× pole ◯ zero clear
s-plane
σ=0, jω=0
bode · |H(jω)| in dB
1.00
0.01–100
02magnitude response

Geometric construction of the magnitude response.

Each factor $(j\omega - z_i)$ in the numerator and $(j\omega - p_j)$ in the denominator is a complex number, and any complex number $w$ can be drawn as a vector with length $|w|$ and angle $\arg(w)$. Read this way, $(j\omega - p_j)$ is the vector from the pole $p_j$ to the test point $j\omega$ on the imaginary axis, and likewise for each zero. The magnitude rule for products and quotients of complex numbers, $|ab| = |a||b|$ and $|a/b| = |a|/|b|$, then reads the response off directly:

$$|H(j\omega)| \;=\; |K|\,\frac{\displaystyle\prod_{i}|\,j\omega - z_i\,|}{\displaystyle\prod_{j}|\,j\omega - p_j\,|}.$$

The magnitude at any frequency is therefore the product of the zero-vector lengths divided by the product of the pole-vector lengths, scaled by the gain. The probe slider moves the test point up the $j\omega$ axis; the diagram on the right redraws each vector and writes its length along it. The shortest pole and shortest zero vectors are highlighted because they dominate the local behaviour of $|H|$.

Pole near the probe.

When $\omega$ approaches the imaginary part of a pole, the corresponding pole-vector becomes short. Its reciprocal in the denominator is large, so $|H(j\omega)|$ peaks. Pushing the probe past the pole's imaginary part lengthens the vector again, so the peak is local to that frequency.

Zero near the probe.

A zero close to the axis produces a short zero-vector when the probe is near it; the numerator drops, so $|H(j\omega)|$ falls into a notch.

Probe far from every pole and zero.

When the probe is far from all singularities, every vector length grows roughly like $\omega$. The ratio of the products tends to a fixed power of $\omega$ set by the difference between the number of zeros and the number of poles, giving the high-frequency asymptote of the Bode magnitude.

The magnitude surface $|H(s)|$.

The same construction extended off the $j\omega$ axis defines $|H(s)|$ as a surface over the entire complex plane. Poles are points at which the surface diverges, zeros are points at which it vanishes, and the Bode magnitude curve is the cross-section of this surface along the $j\omega$ axis. Toggle the 3D view below to inspect the surface directly.

The Bode magnitude is just this product over quotient evaluated as the probe slides up the $j\omega$ axis: peaks appear where a pole-vector becomes short, notches appear where a zero-vector becomes short, and the slope at high frequency is set by how many more poles than zeros remain.
× pole ◯ zero reset
s-plane
ω = 1.00
bode · |H(jω)| in dB
1.00
03phase response

Geometric construction of the phase response.

Using the same vectors from the previous section, the argument rule for products and quotients, $\arg(ab) = \arg(a) + \arg(b)$ and $\arg(a/b) = \arg(a) - \arg(b)$, gives the phase decomposition

$$\angle H(j\omega) \;=\; \sum_i \angle(j\omega - z_i) \;-\; \sum_j \angle(j\omega - p_j).$$

Moving the probe along the $j\omega$ axis rotates each vector and changes the angle it subtends with the positive real direction. The diagram on the right marks the angle of each vector with an arc and a signed value, in zero or pole colour. The Bode phase at the probe frequency equals the sum of zero angles minus the sum of pole angles modulo $360°$.

As $\omega$ approaches the imaginary part of a pole, the vector angle contributed by that pole sweeps through $90°$, producing a corresponding step in $\angle H(j\omega)$. Integrated from $\omega = 0$ to $\omega = \infty$, each pole contributes a net phase of $-90°$ and each zero contributes $+90°$.
× pole ◯ zero reset
s-plane
ω = 1.00
bode · ∠H(jω) in degrees
1.00
04the −3 dB cutoff

The $-3$ dB definition of the cutoff frequency.

A first-order low-pass filter has a single pole at $s = -\omega_c$ on the negative real axis and no finite zeros:

$$H(s) = \frac{\omega_c}{s + \omega_c}.$$

Evaluated on the $j\omega$ axis, the magnitude is the constant $\omega_c$ divided by the length of the vector from the pole at $-\omega_c$ to the evaluation point $j\omega$:

$$|H(j\omega)| \;=\; \frac{\omega_c}{|j\omega - (-\omega_c)|} \;=\; \frac{\omega_c}{\sqrt{\omega_c^{\,2} + \omega^{\,2}}}.$$

At $\omega = 0$ the pole-vector is horizontal with length $\omega_c$, so $|H(0)| = 1$ (the 0 dB passband). As $\omega$ increases the vector lengthens monotonically and the magnitude decreases.

The geometry at $\omega = \omega_c$.

When $\omega = \omega_c$ the triangle formed by the pole, the origin, and the evaluation point $j\omega$ is right-isosceles: both legs have length $\omega_c$ and the hypotenuse, equal to the pole-vector length, is therefore $\sqrt{2}\,\omega_c$.

$$|H(j\omega_c)| \;=\; \frac{\omega_c}{\sqrt{2}\,\omega_c} \;=\; \frac{1}{\sqrt{2}}.$$

In decibels,

$$20\log_{10}\!\left(\tfrac{1}{\sqrt{2}}\right) \;=\; -10\log_{10}(2) \;\approx\; -3.01\ \text{dB}.$$

The $-3$ dB definition of the cutoff frequency is therefore an algebraic consequence of the squared pole-vector length doubling between $\omega = 0$ and $\omega = \omega_c$. Because $|H|^{\,2}$ is proportional to transmitted power, the same frequency is equivalently termed the half-power point: $|H(j\omega_c)|^{\,2} = 1/2$.

Setting the probe to $\omega = \omega_c$ (snap button below) places the triangle in its right-isosceles configuration: the angle at the pole equals $45°$, the pole-vector length equals $\sqrt{2}\,\omega_c$, and the magnitude curve intersects the $-3$ dB line at $\omega_c$. The dashed circle of radius $\omega_c$ centred at the origin passes through both the pole at $-\omega_c$ and the point $j\omega_c$, which is the geometric statement of this construction.
s-plane · geometry of |H|
bode · |H(jω)| with −3 dB marker
1.00
1.00
snap probe to ω = ωc
05the $-20$ dB/decade rolloff

Why the magnitude falls at $-20$ dB/decade.

The pole-vector length expression from the previous section fixes the magnitude of a first-order low-pass at every frequency. Taking the high-frequency limit of that expression shows that, far above $\omega_c$, the Bode plot settles onto a straight line whose slope is exactly $-20$ dB per decade.

$$|H(j\omega)| \;=\; \frac{\omega_c}{\sqrt{\omega_c^{\,2} + \omega^{\,2}}}.$$

High-frequency limit.

For $\omega \gg \omega_c$ the term $\omega_c^{\,2}$ under the square root is negligible, so $\sqrt{\omega_c^{\,2} + \omega^{\,2}} \approx \omega$ and the magnitude collapses to the ratio of the two vertical distances,

$$|H(j\omega)| \;\approx\; \frac{\omega_c}{\omega}.$$

Geometrically this is the pole-vector from $-\omega_c$ to $j\omega$ becoming dominated by its imaginary leg: once $\omega$ is several times $\omega_c$, the small horizontal offset is negligible and the vector length is essentially $\omega$ itself.

Decibels and the slope.

Taking $20\log_{10}$ of both sides converts the ratio into a difference:

$$20\log_{10}|H(j\omega)| \;\approx\; 20\log_{10}\omega_c \;-\; 20\log_{10}\omega.$$

On a log-frequency axis this is an affine function of $\log_{10}\omega$ with slope $-20$. Multiplying $\omega$ by ten (one decade) subtracts $20$ dB; multiplying $\omega$ by two (one octave) subtracts $20\log_{10}2 \approx 6.02$ dB. The two conventions, $-20$ dB/decade and $-6$ dB/octave, describe the same line.

The corner at $\omega = \omega_c$.

The low-frequency asymptote is $|H| = 1$, i.e. $0$ dB. The high-frequency asymptote is $|H| = \omega_c/\omega$. Setting them equal gives $\omega = \omega_c$: the two straight-line segments meet at the same frequency identified in the previous section as the $-3$ dB point. The true magnitude passes $3$ dB below that intersection, since at $\omega = \omega_c$ the exact value is $1/\sqrt{2}$ rather than $1$.

Higher-order cascades.

Cascading $n$ identical first-order poles multiplies the magnitudes, so $|H(j\omega)| \propto \omega^{-n}$ at high frequency and the asymptotic slope becomes $-20n$ dB/decade. This is the content of the Bode rule in its simplest form: each real pole contributes $-20$ dB/decade above its break frequency, each real zero contributes $+20$ dB/decade, and the total slope at any $\omega$ is the algebraic sum.

The s-plane on the left shows the right triangle whose horizontal leg is $\omega_c$, vertical leg is the probe frequency $\omega$, and hypotenuse is the pole-vector $|j\omega - p|$. As the probe is dragged up the imaginary axis, the hypotenuse approaches the vertical leg in length: that is the geometric content of $|j\omega - p| \approx \omega$ for $\omega \gg \omega_c$. On the right, the dashed accent line is the high-frequency asymptote extrapolated back to the passband; the dashed muted line is the $0$ dB passband extended into the stopband. Their intersection marks $\omega_c$. The true magnitude, drawn solid, hugs the passband asymptote below $\omega_c$, passes $3n$ dB below the corner at $\omega = \omega_c$ for an $n$-pole cascade, and asymptotically merges with the $-20n$ dB/decade line above.
s-plane · pole-vector geometry
bode · |H(jω)| with asymptotes
1.00
5.01
n = 1 n = 2 n = 3
n = 1